package teacher.service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import teacher.bean.Award;
import teacher.bean.Paper;
import teacher.bean.Teacher;
import database.dao.MysqlCrud;

public class sqltest {
	
	/**
	 * @author yaojun
	 * @category 根据不同的条件来查询获奖
	 * @return List
	 */
	public static List<Award> getAwardByAll(Award award,String date2){
//		//String sql= "SELECT * FROM award WHERE state=? and awaId LIMIT " +
//				""+(pageNow-1)+" ,"+pageSize+"";
		int j=0;
		List<Award> awards=new ArrayList<Award>();
		String sql="select * from award ";
		List<String> sql1=new ArrayList<String>();
		List<String> paras=new ArrayList<String>();
		if(award!=null)
		{
			if(award.getName()!=null)
			{
				sql1.add(" name like ? ");
				paras.add("%"+String.valueOf(award.getName())+"%");
			}
			if(award.getProjectName()!=null)
			{
				sql1.add(" projectName like ? ");
				paras.add("%"+String.valueOf(award.getProjectName())+"%");
			}
			if(award.getLevel()!=null)
			{
				sql1.add(" level=? ");
				paras.add(String.valueOf(award.getLevel()));
			}
			if(award.getPeople()!=null)
			{
				sql1.add(" people like ? ");
				paras.add("%"+String.valueOf(award.getPeople())+"%");
			}
			if(award.getDate()!=null)
			{
				sql1.add(" date>=? and date<=? ");
				paras.add(String.valueOf(award.getDate()));
				paras.add(date2);
				
			}
			if(award.getKind()!=null)
			{
				sql1.add(" kind=? ");
				paras.add(String.valueOf(award.getKind()));
			}
			if(award.getEmpowerUnit()!=null)
			{
				sql1.add(" empowerUnit=? ");
				paras.add(String.valueOf(award.getEmpowerUnit()));
			}
		}
		for(int i=0;i<sql1.size();i++)
		{
			if(i==0)
				sql+="where"+sql1.get(0);
			else
				sql+="and"+sql1.get(i);
		}
		String[] parameter=new String[paras.size()];
		for(int i=0;i<paras.size();i++)
		{
			parameter[i]=paras.get(i);
		}
		MysqlCrud mysqlcurd=new MysqlCrud();
		System.out.println(sql);
		System.out.println(parameter[0]);
		System.out.println(parameter[1]);
		List<Map> list = mysqlcurd.SelectData(sql, parameter);
		//System.out.println(list.size());
		while(j<list.size()){
			Map map=list.get(j);
			try {
				Award a = new Award();
				a.setAwaId(Integer.parseInt(map.get(0).toString()));
				a.setName(map.get(1).toString());
				a.setProjectName(map.get(2).toString());
				a.setLevel(Integer.parseInt(map.get(3).toString()));
				a.setPeople(map.get(4).toString());
				a.setDate(new SimpleDateFormat("yyyy-MM-dd").parse(map.get(5).toString()));
				a.setNumber(map.get(6).toString());
				a.setUpload(map.get(7).toString());
				a.setTeaId(Integer.parseInt(map.get(8).toString()));
				a.setState(Integer.parseInt(map.get(9).toString()));
				
				a.setKind(Integer.parseInt(map.get(10).toString()));
				a.setUnitNum(Integer.parseInt(map.get(11).toString()));
				a.setEmpowerUnit(map.get(12).toString());
				awards.add(a);
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
			j++;
		}
		return awards;
	}
	
	public static void main(String args[]){
		Award a=new Award();
		List<Award> la=new ArrayList<Award>();
		a.setName("浙江");
		a.setProjectName("数学");
		la=getAwardByAll(a,null);
		System.out.println(la.size());
	}
}
